home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cserial / msc.asm < prev    next >
Assembly Source File  |  1990-04-04  |  1KB  |  95 lines

  1. _TEXT    SEGMENT  WORD PUBLIC 'CODE'
  2. _TEXT    ENDS
  3. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  4. _DATA    ENDS
  5. CONST    SEGMENT  WORD PUBLIC 'CONST'
  6. CONST    ENDS
  7. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  8. _BSS    ENDS
  9. DGROUP    GROUP    CONST, _BSS, _DATA
  10.     ASSUME  CS: _TEXT, DS: DGROUP, SS: DGROUP
  11. _TEXT      SEGMENT
  12.     ASSUME    CS: _TEXT
  13.  
  14.     PUBLIC    _peekmem
  15. _peekmem    PROC NEAR
  16.     push    bp
  17.     mov    bp,sp
  18.     push    es
  19.     push     bx
  20.     push    si
  21.     mov    bx,WORD PTR [bp+4]    ;seg
  22.     mov    es, bx
  23.     mov    bx, WORD PTR [bp+6]    ;off
  24.     mov    si, bx
  25.     mov    bx,WORD PTR [bp+8]    ;var
  26.     mov    ax,WORD PTR es:[si]
  27.     mov    WORD PTR [bx],ax
  28.     pop    si
  29.     pop    bx
  30.     pop    es
  31.     pop    bp
  32.     ret    
  33. _peekmem    ENDP
  34.  
  35.  
  36.  
  37.  
  38.     PUBLIC    _inbyte
  39. _inbyte    PROC NEAR
  40.     push    bp
  41.     mov    bp,sp
  42.     push    dx
  43.     mov    dx, [bp+4]
  44.     in    al, dx
  45.     mov    ah, 0
  46.     pop    dx
  47.     pop    bp
  48.     ret    
  49. _inbyte    ENDP
  50.  
  51.  
  52.     PUBLIC    _outbyte
  53. _outbyte    PROC NEAR
  54.     push    bp
  55.     mov    bp,sp
  56.     push    dx
  57.     mov    dx, [bp+4]
  58.     mov    ax, [bp+6]
  59.     out    dx, al
  60.     pop    dx
  61.     pop    bp
  62.     ret    
  63. _outbyte    ENDP
  64.  
  65.  
  66.     PUBLIC    __kbhit
  67. __kbhit        PROC    near
  68.     mov    ah, 1
  69.     int    16h
  70.     jz    kbnothit
  71.     mov    ax, 1
  72.     ret
  73. kbnothit:
  74.     mov    ax, 0
  75.     ret
  76. __kbhit        ENDP
  77.     
  78.  
  79.     PUBLIC    _enable
  80. _enable    PROC NEAR
  81.     sti
  82.     ret    
  83. _enable    ENDP
  84.  
  85.  
  86.  
  87.  
  88.     PUBLIC    _disable
  89. _disable    PROC NEAR
  90.     cli
  91.     ret    
  92. _disable    ENDP
  93. _TEXT    ENDS
  94. END
  95.